NONE
This application is directed to a system and method for automatically clustering images into similar groups using fuzzy theory.
Clustering is a well known technique for partitioning a set of N objects into P groups, N greater than P, based on some set of metrics. Typically, the set of metrics includes one or more similarity measures in the form of either quantitative or qualitative factors which pertain to the similarity between these objects. Examples of known clustering methods are disclosed in B. Merkin, Mathematical Classification and Clustering, Kluwer Academic Publishers, 1996, and references cited therein.
The automatic clustering of images based on the content within the images has applications in indexing and retrieval of visual information. However, visual similarity is not very well defined since it is a subjective phenomenon. Distinguishing the similarity of two images using computers is difficult. Indeed, even humans may not agree on the similarity of two images. Furthermore, the definition of similarity depends on the goal of the clustering process. For example, two portraits of different people may be considered as similar if the goal of the clustering algorithm is to separate human faces from other images. On the other hand, the same two images are not similar if the goal is to find all pictures of one particular person from among a collection of portraits of different people. And while any similarity measure applicable to two images may be used, the particular similarity measure selected can affect the outcome of the clustering process. Consequently, similarity measures are selected based on their ability to provide effective discriminatory metrics for the variety of images to be clustered.
Prior art methods for clustering images are based on defining a similarity measure between two images. If Xi and Xj are two images in an image database containing a total of N images, a similarity measure Sij between each pair of images (Xi,Xj) can be established such that:
Sij=1 if Xi and Xj are similar, and
Sij=0 if Xi and Xj are dissimilar.xe2x80x83xe2x80x83Eq. 1
Then, one can create a graph of N nodes in which each node corresponds to one of the N images and nodes i and j are connected if and only if Sij=1. Such a graph can be topologically complex and may have many dimensions. Accordingly, one can define such a graph as a binary symmetric Nxc3x97N graph matrix A in which an element aij=1 if nodes i and j are connected, element aij=0 if nodes i and j are not connected, and element aij=1. Equivalently, the graph can be defined by a list of the image pairs which are connected.
Given such a graph, one can then find the connected subgraphs using known algorithms in graph theory. Such connected subgraphs represent clusters of images within the database. However, the validity of the resulting clusters using the above paradigm depends heavily on the precision and correctness of the similarity measure Sij. Typically, the first step toward such a similarity measure is the calculation of a distortion measure Dij between each of the (N)(Nxe2x88x921)/2 pairs of images. The distortion measure may be made using one or more features extracted from each of the original images. Then, using some threshold T, which perhaps is adaptively determined, one may decide if two images are similar, and assign an Sij value of 1 to those deemed to be similar. Such a threshholding process results in an Nxc3x97N binary matrix B created as follows:
bij=1 if aij greater than T, and
bij=0 otherwise.xe2x80x83xe2x80x83Eq. 2
However, one disadvantage of this process is that such threshholding results in the loss of information which may otherwise be used in some manner during the clustering process.
The present invention is directed to an approach for automatically clustering images in which the similarity measure is a fuzzy measure, i.e., 0 # Sij#1 based on the original distortion measure Dij. A fuzzy graph is effectively established, and a fuzzy clustering algorithm is then applied to the fuzzy graphs to find the corresponding connected subgraphs which, in turn, represent the clusters.
The method of the present invention begins with the calculation of a fuzzy similarity measure between an initial set of images to be clustered. Total connectivity values are then calculated for each of these images, the total connectivity for an image being the sum of a function of the various similarity measures associated with than image. The image having the highest connectivity, Imax, is determined to definitely belong to a current cluster that is being established, the current cluster initially including all the images which remain to be assigned to a true, final cluster. Images are removed from the current cluster based on either their similarity measures with respect to Imax, or their connectivity values, or both. Next, images which have just been removed from the current cluster, but have high similarity measures with respect to any of the images remaining in the current cluster are added back into the current cluster. Total connectivity values are then calculated for each of the images remaining in the current cluster, and those with low total connectivity values are removed. This last step is repeated until there is no change in the membership of the cluster. At this point, the current cluster is fixed and thus determined to be aAtrue@ cluster, the images within the current cluster are removed from the initial set, and the remaining images subjected once again to the above process until all images have been assigned to true clusters.
In one aspect of the invention, the similarity measures are first transformed using a non-linear function prior to calculation of the total connectivity measures. The non-linear function may be a transcendental function such as a hyperbolic tangent.
In another aspect of the invention, the function f is the identity function so that the similarity measures are simply summed. However, the function f may instead be a non-linear function of the similarity measures.